package pe.com.bbva.ge.domain.solicitud;

import java.io.Serializable;
import java.math.BigInteger;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import javax.persistence.TableGenerator;

import pe.com.bbva.ge.domain.base.Auditoria;
import pe.com.bbva.ge.domain.configuracion.Valor;


/**
 * The persistent class for the SOL_DETALLE_REMITO database table.
 * 
 */
@Entity
@Table(name="SOL_DETALLE_REMITO")
public class DetalleRemito extends Auditoria implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@Column(unique = true, nullable = false, precision = 19)
	@GeneratedValue(strategy = GenerationType.TABLE, generator = "SEQ_DETALLE_REMITO")
	@TableGenerator(name = "SEQ_DETALLE_REMITO", table = DetalleRemito.SEQ_TABLA, 
	pkColumnName = DetalleRemito.SEQ_TABLA_PK, initialValue = 1, valueColumnName = DetalleRemito.SEQ_TABLA_COLUMN, 
	pkColumnValue = "pe.com.bbva.ge.domain.solicitud.DetalleRemito", allocationSize = 1)
	private long id;
	
	public long getId() {
		return this.id;
	}

	public void setId(long id) {
		this.id = id;
	}
	
	//

	private BigInteger cantidad;

	//uni-directional many-to-one association to DetalleRemito
	@ManyToOne
	@JoinColumn(name="CONCEPTO")
	private Valor concepto;

	@Column(name="DETALLE_DENOMINACION")
	private DetalleDenominacion detalleDenominacion;

	private String numero;

	private String observacion;

	//bi-directional many-to-one association to Remito
	@ManyToOne
	@JoinColumn(name="REMITO")
	private Remito remito;

	//bi-directional one-to-one association to Anomalia
	@OneToOne(mappedBy="detalleRemito")
	private Anomalia anomalia;	

	public BigInteger getCantidad() {
		return this.cantidad;
	}

	public void setCantidad(BigInteger cantidad) {
		this.cantidad = cantidad;
	}

	public Valor getConcepto() {
		return this.concepto;
	}

	public void setConcepto(Valor concepto) {
		this.concepto = concepto;
	}

	public DetalleDenominacion getDetalleDenominacion() {
		return this.detalleDenominacion;
	}

	public void setDetalleDenominacion(DetalleDenominacion detalleDenominacion) {
		this.detalleDenominacion = detalleDenominacion;
	}

	public String getNumero() {
		return this.numero;
	}

	public void setNumero(String numero) {
		this.numero = numero;
	}

	public String getObservacion() {
		return this.observacion;
	}

	public void setObservacion(String observacion) {
		this.observacion = observacion;
	}

	public Remito getRemito() {
		return this.remito;
	}

	public void setRemito(Remito remito) {
		this.remito = remito;
	}

	public Anomalia getAnomalia() {
		return this.anomalia;
	}

	public void setAnomalia(Anomalia anomalia) {
		this.anomalia = anomalia;
	}

}